package com.dlc.shop.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dlc.shop.bean.model.EnterprisePay;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @author
 * @date 2019-10-15 16:44:50
 */
public interface EnterprisePayMapper extends BaseMapper<EnterprisePay> {

    /**
     * 批量获取商家转账信息列表,最多一千条
     * @return 商家转账信息列表
     */
    List<EnterprisePay> listApplyEnterprisePay();

    /**
     * 批量获取商家转账信息列表
     * @return 商家转账信息列表
     */
    List<EnterprisePay> listEnterprisePay();

    /**
     * 支付成功后根据商家转账订单号更新商家转账信息的状态为已完成
     * @param entPayOrderNo 商家转账订单号
     * @param version 版本号
     * @return 成功更新条数
     */
    int paySuccess(@Param("entPayOrderNo") Long entPayOrderNo, @Param("version") Integer version);

    /**
     * 支付失败后根据商家转账订单号更新商家转账信息的状态为已失败
     * @param entPayOrderNo 商家转账订单号
     * @param version 版本号
     * @return 成功更新条数
     */
    int payFailed(@Param("entPayOrderNo") Long entPayOrderNo, @Param("version") Integer version);

    /**
     * 发起转账后保存批次记录
     * @param enterprisePayList
     */
    void updateBatch(@Param("enterprisePayList")List<EnterprisePay> enterprisePayList);
}
